Facebook Ad Library Scraper avatar

Facebook Ad Library Scraper

Pricing

from $0.40 / 1,000 results

Go to Apify Store
Facebook Ad Library Scraper

Facebook Ad Library Scraper

Scrape the Facebook Ad Library at scale. Extract ad text, images, videos, landing pages, spend ranges, impressions, advertiser info and more. Filter by keyword, advertiser, country, date range, media type. No login or Facebook account needed. Export to JSON, CSV, Excel.

Pricing

from $0.40 / 1,000 results

Rating

0.0

(0)

Developer

Scrape Smith

Scrape Smith

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

2

Monthly active users

3 days ago

Last modified

Share

Scrape ads from the Facebook Ad Library at scale. Extract ad creatives, copy, landing pages, spend data, impressions, and advertiser info — no Facebook account or login required.

What does Facebook Ad Library Scraper do?

This scraper extracts publicly available ad data from Meta's Ad Library. Use it for competitor analysis, market research, political ad monitoring, or building ad creative databases.

For each ad, you get:

  • Ad creative — text, title, images, videos, carousel cards
  • Advertiser — page name, page ID, profile picture, categories, like count
  • Performance — spend range, impressions, reach (political/issue ads)
  • Metadata — start/end date, active status, platforms (Facebook, Instagram), display format
  • Targeting — targeted countries, ad category, content language
  • Links — destination URL, CTA button, caption, byline
  • Transparency — advertiser contact info, funding entity (political ads)

How much does it cost to run?

The scraper uses minimal compute — 256 MB RAM is all it needs. A typical run scraping 1,000 ads costs about $0.03 on Apify platform usage. Add residential proxy cost if you enable it (~$0.03 more for 1,000 ads).

AdsComputeProxyTotal
100~$0.005~$0.003~$0.01
1,000~$0.03~$0.03~$0.06
5,000~$0.15~$0.15~$0.30

Input

FieldDescriptionDefault
Search queriesKeywords to search for (e.g. "nike", "insurance")Required*
Advertiser page IDsFacebook page IDs for direct lookupRequired*
CountryISO country code (US, GB, DE, etc.)US
Ad categoryAll, political, housing, employment, or credit adsAll
StatusAll, active only, or inactive onlyAll
Media typeAll, images only, or videos onlyAll
LanguagesFilter by language (en, es, fr, etc.)All
Started afterOnly ads started on or after this date (YYYY-MM-DD)
Started beforeOnly ads started on or before this date (YYYY-MM-DD)
Max results per queryHow many ads to collect per query100
ProxyResidential proxy for large runsOff

* Provide at least one search query or advertiser page ID.

Input example

{
"queries": ["nike", "adidas"],
"country": "US",
"activeStatus": "active",
"maxAdsPerQuery": 200,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"]
}
}

Output

Each ad is stored as a JSON object with the following fields:

{
"ad_id": "1368903715293808",
"ad_archive_id": "1368903715293808",
"ad_url": "https://www.facebook.com/ads/library/?id=1368903715293808",
"advertiser": {
"page_id": "972343405957883",
"page_name": "National Carry Association",
"page_url": "https://www.facebook.com/972343405957883/",
"page_profile_picture_url": "https://scontent...",
"page_categories": ["Business"],
"page_like_count": 904
},
"ad_text": "Check your eligibility under the new 2026 law...",
"ad_title": "2026 Carry Changes",
"ad_creative_urls": {
"images": ["https://scontent..."],
"videos": ["https://video..."]
},
"creative_cards": null,
"cta": { "text": "Learn more", "type": "LEARN_MORE" },
"link_url": "http://rushedpermit.com/...",
"caption": "rushedpermit.com",
"byline": "4936 Ventures LLC",
"link_description": "Claim Your Certificate Online in Minutes",
"display_format": "VIDEO",
"start_date": "2026-05-20T07:00:00.000Z",
"end_date": "2026-06-12T07:00:00.000Z",
"is_active": true,
"platforms": ["facebook", "instagram"],
"currency": "USD",
"spend_range": "$90K-$100K",
"impressions_range": ">1M",
"reach_range": ">1M",
"categories": ["POLITICAL"],
"fev_info": {
"authorized_entity": "This information was provided to Meta.",
"phone": "+16193500902",
"email": "hello@4936ventures.com",
"website": "https://4936ventures.com/",
"address": "Dover, Delaware"
},
"source_query": "biden",
"scrapedAt": "2026-06-13T05:17:43.000Z"
}

Results can be exported to JSON, CSV, Excel, or accessed via the Apify dataset API.

Tips for best results

  • Use proxy for large runs. Without proxy, Facebook may rate-limit after 100-200 ads. Residential proxy eliminates this.
  • Page IDs are faster than keywords. If you know the advertiser's Facebook page ID, use advertiserPageIds — it's more reliable and skips the search step.
  • Political ads have richer data. Spend ranges, impressions, reach estimates, and advertiser contact info are only available on political/issue ads.
  • Set a reasonable max. Start with 100-200 ads per query to verify results, then scale up.

How it works

The scraper accesses Facebook's public Ad Library the same way a browser does — no API key or login needed:

  1. Visits the Ad Library search page with your query
  2. Extracts initial results from the server-rendered HTML
  3. Paginates using Facebook's internal GraphQL API
  4. Normalizes each ad into a clean, consistent schema

The scraper automatically discovers Facebook's internal API identifiers from the page's JavaScript bundles, so it stays working even when Facebook rotates them.